package com.xqboss.apps.dto.synthesis;

import com.xqboss.apps.enums.synthesis.SynthesisTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
@ApiModel(value = "合成活动-方案配置-空投详情", description = "出入参数")
public class SynthesisPlanResultDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "产出Id")
    private Long resultId;

    @NotNull(message = "材料类型不可为空")
    @Min(value = 1, message = "材料类型格式不合法")
    @ApiModelProperty(value = "材料类型[1藏品，2装备，3箱子，4材料]")
    private SynthesisTypeEnum type;

    @ApiModelProperty(value = "配置名称")
    private String name;

    @ApiModelProperty(value = "配置图片")
    private String imgUrl;

    @ApiModelProperty(value = "关联id[type为1时才需要,为nftId,其他为0]")
    private Long thirdId;

    @ApiModelProperty(value = "nft-总库存")
    private Integer nftTotalNum;

    @ApiModelProperty(value = "产出数量")
    @NotNull(message = "产出数量不可为空")
    @Max(value = 99999, message = "产出数量格式不合法")
    @Min(value = 1, message = "产出数量格式不合法")
    private BigDecimal productNum;

    @ApiModelProperty(value = "方案库存")
    @NotNull(message = "方案库存不可为空")
    @Max(value = 99999, message = "方案库存格式不合法")
    @Min(value = 1, message = "方案库存格式不合法")
    private Integer num;
}
